package com.simple.common.entity.dto.pay.vm;

import com.simple.common.entity.po.sys.ChannelComp;
import com.simple.common.entity.po.sys.Product;
import com.simple.common.entity.po.sys.Trade;
import com.simple.common.entity.ReqContext;
import lombok.Data;

import java.util.Map;

/**
 * 直连支付传递对象
 * @author yasud
 * @date 2020年09月29日 16:09
 * @description
 */
@Data
public class DirectPayDto extends VmBaseDto {

    private CardInfo cardInfo;

    /**
     * 提供静态方法方便创建
     * @param trade
     * @param context
     * @param extra
     * @param channel
     * @param product
     * @return
     */
    public static DirectPayDto generateDto(Trade trade,
                                           ReqContext context,
                                           Map<String, Object> extra,
                                           ChannelComp channel,
                                           Product product,
                                           CardInfo cardInfo
                                           ) {
        DirectPayDto directPayDto = new DirectPayDto();
        directPayDto.setTrade(trade);
        directPayDto.setContext(context);
        directPayDto.setExtra(extra);
        directPayDto.setChannel(channel);
        directPayDto.setProduct(product);
        directPayDto.setCardInfo(cardInfo);
        return directPayDto;
    }
}